过渡
当控件的部分属性被修改后,控件会平滑过渡到新的状态。 过渡可以用来实现一 些动画效果。
transition = {
-- 当控件大小发生变化时,在200毫秒内平滑过渡到新的状态,使用的曲线函数为'linear'
size = {
time = 200,
func = 'linear',
}
}
transition
指定当某个属性(size、position等)变化时,所对应的过渡效果。
time
指定当属性变化时,花费多少毫秒从初始状态过渡到新状态。
func
指定 过渡曲线。
支持的属性
- size 当控件大小改变时生效(包括宽度改变和高度改变)
- position 当控件坐标改变时生效
- show 当控件隐藏或显示时生效
- opacity 当控件透明度改变时生效
- progress 当进度条进度改变时生效(仅对进度条控件有效)
- scale 当控件缩放改变时生效(包括横向缩放和纵向缩放)
- rotate 当控件旋转改变时生效
- custom 自定义数值过渡,详细说明见
自定义数值过渡
一节
支持的曲线函数
内置的曲线函数
支持一些内置的曲线函数:
- linear
- ease
- ease_in
- ease_out
- ease_in_out
自定义曲线函数
可以通过 func 指定自定义曲线,如:
transition = {
position = {
time = 200,
-- 自定义曲线函数
func = {0.04, 1.14, 0.98, -0.04}
}
}
实际效果可以参考测试用例:
Script/test/custom_transition.lua
曲线效果在线预览: